diff --git a/docs/docs.user.accounts.purchase_invoice.md b/docs/docs.user.accounts.purchase_invoice.md
index 53bf8fb..371a26f 100644
--- a/docs/docs.user.accounts.purchase_invoice.md
+++ b/docs/docs.user.accounts.purchase_invoice.md
@@ -3,7 +3,7 @@
 	"_label": "Purchase Invoice"
 }
 ---
-Purchase Invoice is the exact opposite of your Sales Invoice. It is the bill that your Supplier sends your for products or services delivered. Here you accrue expenses to your Supplier. Making a Purchase Invoice is very similar to making a Purchase Order.
+Purchase Invoice is the exact opposite of your Sales Invoice. It is the bill that your Supplier sends you for products or services delivered. Here you accrue expenses to your Supplier. Making a Purchase Invoice is very similar to making a Purchase Order.
 
 To make a new Purchase Invoice, go to:
 
@@ -11,7 +11,7 @@
 
 or click on “Make Purchase Invoice” in Purchase Order or Purchase Receipt.
 
-The concept of “Posting Date” is again same as Sales Invoice. “Bill No” and “Bill Date” help you track the bill number as set by your Supplier for reference.
+The concept of “Posting Date” is again same as Sales Invoice. “Bill No” and “Bill Date” help you  to track the bill number as set by your Supplier for reference.
 
 #### Accounting Impact
 
@@ -38,7 +38,7 @@
 
 If the Item is consumed immediately on purchase or if it is a service, then the purchase becomes an “Expense”. For example, a telephone bill or travel bill is an “Expense” - it is already consumed.
 
-For inventory Items, that have a value, these purchases are not yet “Expense”, because they still have a value while they remain in your stock. They are “Assets”. If they are raw-materials (used in a process), they will become “Expense” the moment they are consumed in the process. If they are to be sold to a Customer, the become “Expense” when you ship them to the Customer.
+For inventory Items, that have a value, these purchases are not yet “Expense”, because they still have a value while they remain in your stock. They are “Assets”. If they are raw-materials (used in a process), they will become “Expense” the moment they are consumed in the process. If they are to be sold to a Customer, they become “Expense” when you ship them to the Customer.
 
 Note: In ERPNext, this conversion from “Asset” to “Expense” is not clear. As of the current version, you will have to manually convert an item from an “Asset” to “Expense” via a Journal Voucher. We know its a shortcoming and will be fixed in an upcoming version pretty soon.
 
diff --git a/docs/docs.user.accounts.sales_invoice.md b/docs/docs.user.accounts.sales_invoice.md
index 383ddf8..c30b166 100644
--- a/docs/docs.user.accounts.sales_invoice.md
+++ b/docs/docs.user.accounts.sales_invoice.md
@@ -37,7 +37,7 @@
 
 Posting Date: The date on which the Sales Invoice will affect your books of accounts i.e. your General Ledger. This will affect all your balances in that accounting period. 
 
-Due Date: The date on which the payment is due (if you have sold on credit). This can be automatically be set from the Customer master.
+Due Date: The date on which the payment is due (if you have sold on credit). This can be automatically set from the Customer master.
 
 #### Recurring Invoices
 
diff --git a/docs/docs.user.buying.material_request.md b/docs/docs.user.buying.material_request.md
index f25f0ba..7c3f151 100644
--- a/docs/docs.user.buying.material_request.md
+++ b/docs/docs.user.buying.material_request.md
@@ -19,7 +19,7 @@
 In the Material Request form, 
 
 - Fill in the Items you want and their quantities.
-- If your Items are inventory items, you must also mention the Warehouse where you expect these Items to be delivered to. This helps you keep track of Projected Quantity for this Item.
+- If your Items are inventory items, you must also mention the Warehouse where you expect these Items to be delivered to. This helps you to keep track of the Projected Quantity for this Item.
 - You can also automatically get the Items from a Sales Order.
 - You can optionally add the Terms, using the Terms and Conditions master and also the reason.
 
@@ -27,5 +27,5 @@
 
 #### Authorization
 
-If you want your Material Request to be authorized by a senior person like a Purchase Manger then you can give “Submit” rights to only that person. So everyone can create requests, but only the authorized person can “Submit”.
+If you want your Material Request to be authorized by a senior person like a Purchase Manager then you can give “Submit” rights only to that person. Everyone can create requests, but only the authorized person can “Submit”.
 
diff --git a/docs/docs.user.buying.md b/docs/docs.user.buying.md
index a079323..6dd25f6 100644
--- a/docs/docs.user.buying.md
+++ b/docs/docs.user.buying.md
@@ -3,7 +3,7 @@
 	"_label": "Buying"
 }
 ---
-If your business involves physical goods, buying is on of your core business activities. Your suppliers are as important as your customers and they must be provided with as much accurate information as possible.
+If your business involves physical goods, buying is one of your core business activities. Your suppliers are as important as your customers and they must be provided with as much accurate information as possible.
 
 Buying in right amounts at right quantities can affect your cash flow and profitability.
 
diff --git a/docs/docs.user.buying.purchase_order.md b/docs/docs.user.buying.purchase_order.md
index 891bca3..47aba3e 100644
--- a/docs/docs.user.buying.purchase_order.md
+++ b/docs/docs.user.buying.purchase_order.md
@@ -14,17 +14,17 @@
 Entering a Purchase Order is very similar to a Purchase Request, additionally you will have to set:
 
 - Supplier. 
-- A “Required By” date on each Item: If you are expecting part delivery, your Supplier will know how much quantity to deliver at what date. This will help you from preventing over-supply. It will also help you track how well your Supplier is doing on timeliness.
+- A “Required By” date on each Item: If you are expecting part delivery, your Supplier will know how much quantity to deliver at which date. This will help you from preventing over-supply. It will also help you track how well your Supplier is doing on timeliness.
 
 ### Taxes
 
-If your Supplier is going to charge you additional taxes or charge like a shipping or insurance charge, you can add it here. It will help you to accurately track your costs. Also if some of these charges add to the value of the product you will have to mention in the Taxes table. You can also you templates for your taxes. For more information on setting up your taxes see the Purchase Taxes and Charges Master.
+If your Supplier is going to charge you additional taxes or charge like a shipping or insurance charge, you can add it here. It will help you to accurately track your costs. Also if some of these charges add to the value of the product you will have to mention in the Taxes table. You can also use templates for your taxes. For more information on setting up your taxes see the Purchase Taxes and Charges Master.
 
 
 ### Value Added Taxes (VAT)
 
 Many times, the tax paid by you to a Supplier for an Item is the same tax you collect from your Customer. In many regions, what you pay to your government is only the difference between what you collect from your Customer and pay to your Supplier. This is called Value Added Tax (VAT). 
 
-For example you buy Items worth X and sell them for 1.3X. So your Customer pays 1.3 times the tax you pay your Supplier. Since you have already paid tax to your Supplier for X, what your owe your government is only the tax on 0.3X.
+For example you buy Items worth X and sell them for 1.3X. So your Customer pays 1.3 times the tax you pay your Supplier. Since you have already paid tax to your Supplier for X, what you owe your government is only the tax on 0.3X.
 
 This is very easy to track in ERPNext since each tax head is also an Account. Ideally you must create two Accounts for each type of VAT you pay and collect, “Purchase VAT-X” (asset) and “Sales VAT-X” (liability), or something to that effect. Please contact your accountant if you need more help or post a query on our forums!
\ No newline at end of file
diff --git a/docs/docs.user.buying.supplier.md b/docs/docs.user.buying.supplier.md
index b988090..ad9e4ae 100644
--- a/docs/docs.user.buying.supplier.md
+++ b/docs/docs.user.buying.supplier.md
@@ -3,7 +3,7 @@
 	"_label": "Supplier Master"
 }
 ---
-Suppliers are companies or individuals who provide you products or services. They are treated in exactly the same manner as Customers in ERPNext.
+Suppliers are companies or individuals who provide you with products or services. They are treated in exactly the same manner as Customers in ERPNext.
 
 1. Separate Account Ledgers are created for the Supplier in the Company under “Accounts Payable”.
 1. You can have multiple Addresses and Contacts for Suppliers.
diff --git a/docs/docs.user.buying.supplier_quotation.md b/docs/docs.user.buying.supplier_quotation.md
index 19a86e7..0355fd0 100644
--- a/docs/docs.user.buying.supplier_quotation.md
+++ b/docs/docs.user.buying.supplier_quotation.md
@@ -3,7 +3,7 @@
 	"_label": "Supplier Quotation"
 }
 ---
-If you have multiple **Suppliers** who supply you with the same **Item**, you usually send out a message (Request for Quote) to various **Suppliers**. In many cases, again specially if you have centralized buying, you may want to record all the quotes so that 
+If you have multiple **Suppliers** who supply you with the same **Item**, you usually send out a message (Request for Quote) to various **Suppliers**. In many cases, especially if you have centralized buying, you may want to record all the quotes so that 
 
 - You can easily compare prices in the future 
 - Audit whether all Suppliers were given the opportunity to quote.
diff --git a/docs/docs.user.help.md b/docs/docs.user.help.md
index 41ba919..55d12d2 100644
--- a/docs/docs.user.help.md
+++ b/docs/docs.user.help.md
@@ -25,7 +25,7 @@
 
 ### 4. Buy Commercial Support / Hosting
 
-You can buy affordable hosting from Web Notes or buy commercial support where you get:
+You can buy affordable hosting from Web Notes or buy commercial support which offers:
 
 1. One-on-one sessions via screen sharing.
 1. Priority bug fixing
diff --git a/docs/docs.user.implement.concepts.md b/docs/docs.user.implement.concepts.md
index 447af31..ac481d4 100644
--- a/docs/docs.user.implement.concepts.md
+++ b/docs/docs.user.implement.concepts.md
@@ -11,7 +11,7 @@
 
 #### Company
 
-This represents the Company records for which ERPNext is setup. With the same setup, you can create multiple Company records, each representing a different legal entity. The accounting for each Company will be different, but they will share Customer, Supplier and Item records.
+This represents the Company records for which ERPNext is setup. With this same setup, you can create multiple Company records, each representing a different legal entity. The accounting for each Company will be different, but they will share the Customer, Supplier and Item records.
 
 > Setup > Company > Companies
 
@@ -35,7 +35,7 @@
 
 #### Account
 
-An Account is heading under which financial and business transactions are carried on. For example, “Travel Expense” is an account, “Customer Zoe”, “Supplier Mae” are accounts. ERPNext creates accounts for Customers and Suppliers automatically.
+An Account is a heading under which financial and business transactions are carried on. For example, “Travel Expense” is an account, “Customer Zoe”, “Supplier Mae” are accounts. ERPNext creates accounts for Customers and Suppliers automatically.
 
 > Accounts > Chart of Accounts
 
@@ -47,7 +47,7 @@
 
 #### Contact
 
-An individual Contact that belongs to a Customer or Supplier or is just independent. A Contact has name and contact details like email and phone number.
+An individual Contact belongs to a Customer or Supplier or is just an independent. A Contact has a name and contact details like email and phone number.
 
 > Selling > Contact
 
@@ -71,13 +71,13 @@
 
 #### Fiscal Year
 
-Represents a Financial Year or Accounting Year. You can operate multiple Fiscal Years at the same time. Each Fiscal Year has a start and end date and transactions can only be recorded in this period. When you “close” a fiscal year, its balances are transferred as “opening” balances for the next fiscal year.
+Represents a Financial Year or Accounting Year. You can operate multiple Fiscal Years at the same time. Each Fiscal Year has a start date and an end date and transactions can only be recorded in this period. When you “close” a fiscal year, it's balances are transferred as “opening” balances for the next fiscal year.
 
 > Setup > Company > Fiscal Years
 
 #### Cost Center
 
-A Cost Center is like an Account, but the only different is that its structure represents your business more closely than Accounts. For example in your Chart of Accounts, you separate your expenses by type (say travel, marketing etc). In your Chart of Cost Centers, you can separate them by product line or business group (for example online sales, retail sales)
+A Cost Center is like an Account, but the only difference is that it's structure represents your business more closely than Accounts. For example in your Chart of Accounts, you separate your expenses by type (say travel, marketing etc). In your Chart of Cost Centers, you can separate them by product line or business group (for example online sales, retail sales)
 
 > Accounts > Chart of Cost Centers
 
@@ -147,7 +147,7 @@
 
 #### Sales Person
 
-Someone who pitches the Customer and closes deals. You can set targets for Sales Persons and tag them in transactions.
+Someone who pitches to the Customer and closes deals. You can set targets for Sales Persons and tag them in transactions.
 
 > Selling > Setup > Sales Person
 
@@ -219,7 +219,7 @@
 
 #### Quality Inspection
 
-A note prepared to record certain parameters of an Item at time of Receipt from Supplier or Delivery to Customer.
+A note prepared to record certain parameters of an Item at the time of Receipt from Supplier, or Delivery to Customer.
 
 > Stock > Tools > Quality Inspection
 
@@ -277,7 +277,7 @@
 
 #### Appraisal Template
 
-A template recording the different parameters of Employee performance and their weights for a particular role.
+A template recording the different parameters of Employee performance and their weightage for a particular role.
 
 > Human Resources > Employee Setup > Appraisal Template
 
@@ -293,13 +293,13 @@
 
 #### Bill of Materials (BOM)
 
-A list of Operations and Items with their quantities that are required to produce another Item. A Bill of Materials (BOM) is used to plan purchases and do product costing.
+A list of Operations and Items with their quantities, that are required to produce another Item. A Bill of Materials (BOM) is used to plan purchases and do product costing.
 
 > Manufacturing > BOM
 
 #### Workstation
 
-A place where an BOM operation takes place. Is useful to calculate the direct cost of the product.
+A place where a BOM operation takes place. It is useful to calculate the direct cost of the product.
 
 > Manufacturing > Workstation
 
diff --git a/docs/docs.user.implement.md b/docs/docs.user.implement.md
index 2ba2dbd..f42d661 100644
--- a/docs/docs.user.implement.md
+++ b/docs/docs.user.implement.md
@@ -13,9 +13,9 @@
 
 Like exercise. 
 
-Human body does not require to be exercised today or maybe tomorrow, but in the long run, if you wish to maintain your body and its health, you should get on the treadmill.
+Human body may seem like it does not require exercise today or even tomorrow, but in the long run, if you wish to maintain your body and its health, you should get on the treadmill.
 
-In the same way, ERPs improve the health of your organization over a long run by keep it fit and efficient. The more you delay putting things in order, the more time you lose and the closer you get to a major disaster.
+In the same way, ERPs improve the health of your organization over a long run by keeping it fit and efficient. The more you delay putting things in order, the more time you lose, and the closer you get to a major disaster.
 
 So when you start implementing an ERP, keep your sight on the long term benefits. Like exercise, its painful in the short run, but will do wonders if you stay on course.
 
@@ -23,7 +23,7 @@
 
 ## The Champion
 
-ERP means organization wide change and it does not happen without effort. Every change requires a champion and its the duty of the champion to organize and energize the entire team towards implementation. The champion is all the fall guy (or fall gal) incase something goes wrong and hence needs to be resilient. Who becomes a champion without putting effort anyways?
+ERP means organization wide change and it does not happen without effort. Every change requires a champion and it is the duty of the champion to organize and energize the entire team towards implementation. The champion is all the fall guy (or fall gal) incase something goes wrong and hence needs to be resilient. Who becomes a champion without putting effort anyways?
 
 In many organizations we have seen, the champion is most often the owner or a senior manager. Occasionally, the champion is an outsider who is hired for the purpose.
 
diff --git a/docs/docs.user.implement.strategy.md b/docs/docs.user.implement.strategy.md
index 6675536..3abb91a 100644
--- a/docs/docs.user.implement.strategy.md
+++ b/docs/docs.user.implement.strategy.md
@@ -11,12 +11,12 @@
 
 - Read the Manual
 - Create your first Customer, Supplier and Item. Add a few more so you get familiar.
-- Create Customer Groups, Item Groups, Warehouses, Supplier Groups so that you can classify your Items.
+- Create Customer Groups, Item Groups, Warehouses, Supplier Groups, so that you can classify your Items.
 - Complete a standard sales cycle - Lead > Opportunity > Quotation > Sales Order > Delivery Note > Sales Invoice > Payment (Journal Voucher)
 - Complete a standard purchase cycle - Purchase Request > Purchase Order > Purchase Receipt > Payment (Journal Voucher).
 - Complete a manufacturing cycle (if applicable) - BOM > Production Planning Tool > Production Order > Stock Entry (issue) > Stock Entry (back-flush)
 
-> Tip: Use the 30-day free trial at [erpnext.com](https://erpnext.com) to do your test drive.
+> Tip: Use the 30-day free trial at [erpnext.com](https://erpnext.com) to take your test drive.
 
 ### Live Phase
 
diff --git a/docs/docs.user.intro.md b/docs/docs.user.intro.md
index 19f8d98..a6debe8 100644
--- a/docs/docs.user.intro.md
+++ b/docs/docs.user.intro.md
@@ -13,11 +13,16 @@
 
 (If you are already convinced you need an all-in-one system for your organization, you can skip this.)
 
-If you are running a small business that has some employees, you understand its hard to manage the dynamic nature of doing businesses. You are already using software like Accounting, and may be some other one to manage your inventory and sales (or CRM). An ERP brings all of that together in one place.
+If you are running a small business that has some employees, you understand its hard to manage the dynamic nature of doing businesses. 
+You are already using software like Accounting, and may be some other one to manage your inventory and sales (or CRM). 
+An ERP brings all of this together in one place.
 
-Small business are not so different from large ones. They contain most of the complexities of a large business but with many more constraints. Small businesses have to communicate with customers, do accounts, pay taxes, do payroll, manage timelines, deliver quality, answer questions and keep everyone happy just like large businesses.
+Small businesses are not so different from large ones. They contain most of the complexities of a large business along with many other constraints. 
+Small businesses have to communicate with customers, do accounts, pay taxes, do payroll, manage timelines, deliver quality, answer questions 
+and keep everyone happy just like in large businesses.
 
-Large businesses have the advantage of using advanced data systems to manage their process efficiently. Small businesses typically struggle to keep things organized. They are often using a mix of apps like spreadsheets, accounting software, web CRM etc to manage but not everyone is on the same page. An ERP changes that.
+Large businesses have the advantage of using advanced data systems to manage their process efficiently. 
+Small businesses typically struggle to keep things organized. They often use a mix of apps like spreadsheets, accounting software, web CRM etc to manage.The problem is, not everyone is on the same page. An ERP changes that.
 
 ---
 
@@ -28,14 +33,14 @@
 Among other things, ERPNext will help you to:
 
 - Track all Invoices and Payments.
-- Know what quantity of what product is available in stock.
+- Know what quantity of which product is available in stock.
 - Identify open customer queries.
 - Manage payroll.
 - Assign tasks and follow up on them.
 - Maintain a database of all your customers, suppliers and their contacts.
 - Prepare quotes.
 - Get reminders on maintenance schedules.
-- Publish you website.
+- Publish your website.
 
 And a lot lot lot more.
 
@@ -43,13 +48,13 @@
 
 ## Why Should I Use ERPNext?
 
-ERPNext is a modern accounting plus everything system and has many benefits over both traditional accounting as well as ERP applications.
+ERPNext is a modern tool that covers not only accounting but also all other business functions on an integrated platform. It has many benefits over both traditional accounting as well as ERP applications.
 
 ### Benefits over traditional accounting software:
 
-- Do a lot more than just accounting! Manage inventory, billing, quotes, leads, payroll and much much more.
-- All data safe and in one place. Don’t keep hunting for data when you need it across spreadsheets and different computers.
-- Everyone on the same page. All users get the same update data.
+- Do a lot more than just accounting! Manage inventory, billing, quotes, leads, payroll and a lot more.
+- Keep all your data safe and in one place. Don’t keep hunting for data when you need it across spreadsheets and different computers.
+-Manage everyone on the same page. All users get the same updated data.
 - Stop repetitive work. Don’t enter the same information from your word processor to your accounting tool. Its all integrated.
 - Keep track. Get the entire history of a customer or a deal in one place.
 
@@ -58,4 +63,4 @@
 - $$$ - Save money.
 - Easier to configure. Big ERPs are notoriously hard to setup and will ask you a zillion questions before you can do something meaningful.
 - Easier to use. Modern web like user interface will keep your users happy and in familiar territory.
-- Open Source. This software is always free and you can host it anywhere you like.
\ No newline at end of file
+- Open Source. This software is always free and you can host it anywhere you like.
diff --git a/docs/docs.user.intro.open_source.md b/docs/docs.user.intro.open_source.md
index ed1556e..37e23c4 100644
--- a/docs/docs.user.intro.open_source.md
+++ b/docs/docs.user.intro.open_source.md
@@ -3,20 +3,20 @@
 	"_label": "Open Source"
 }
 ---
-The source code in an Open Source software is open for anyone to understand, extend or improve. And it is free!
+The source code is an Open Source software. It is open for anyone to understand, extend or improve. And it is free!
 
 Advantages of an Open Source software are:
 
 1. You can choose to change your service provider anytime.
 1. You can host the application anywhere, including your own server so you have complete ownership and privacy of the data.
-1. There will always be a community to support you incase you need help and you are not dependant on only your service provider.
-1. The product is critiqued and used by a wide range of people who have reported hundreds of issues and suggestions to make the product better and this will always continue.
+1. There will always be a community to support you incase you need help and you are not dependant  only on your service provider.
+1. The product is critiqued and used by a wide range of people who have reported hundreds of issues and suggestions to make this product better, and this will always continue.
 
 ---
 
 ### Alternatives
 
-There are many Open Source ERPs you can consider. Popular among them are:
+There are many Open Source ERPs you can consider. Popular ones are:
 
 1. OpenERP
 1. OpenBravo
diff --git a/docs/docs.user.intro.try.md b/docs/docs.user.intro.try.md
index 33cab69..051caab 100644
--- a/docs/docs.user.intro.try.md
+++ b/docs/docs.user.intro.try.md
@@ -13,11 +13,11 @@
 
 ### 2. Get a Free 30 day Trial at ERPNext.com
 
-If you like the feel and want to setup your own company, you can try a 30 day free trial (no credit card details required) at ERPNext.com
+If you like the feel and want to set it up for your own company, you can take a 30 day free trial (no credit card details required) at ERPNext.com
 
-ERPNext.com is managed by the organization (Web Notes) that publishes ERPNext and you can do a trial run with your own account by [signing up on the website](https://erpnext.com/pricing-and-signup).
+ERPNext.com is managed by the organization (Web Notes) that publishes ERPNext. You can do a trial run with your own account by [signing up on the website](https://erpnext.com/pricing-and-signup).
 
-You can also decide to host your application at ERPNext.com by buying the hosting plans. This way you also support the organization that has developed and keeps improving ERPNext. You also get one-to-one functional (usage) support with the hosting plans.
+You can also decide to host your application at ERPNext.com by buying the hosting plans. This way you support the organization that develops and improves ERPNext. You also get one-to-one functional (usage) support with the hosting plans.
 
 ### 3. Download a Virtual Machine
 
@@ -27,7 +27,7 @@
 
 ### 4. Install ERPNext on your Unix/Linux/Mac machine
 
-ERPNext reasonably easy to install on a Unix like operating system and requires:
+ERPNext is reasonably easy to install on a Unix like operating system and requires:
 
 1. MySQL database
 1. Apache Web Server
diff --git a/docs/docs.user.selling.customer.md b/docs/docs.user.selling.customer.md
index 5316f34..1c2c22d 100644
--- a/docs/docs.user.selling.customer.md
+++ b/docs/docs.user.selling.customer.md
@@ -42,7 +42,7 @@
 
 You can set how much credit you want to allow for a Customer by adding the “Credit Limit”. You can also set a global “Credit Limit” in the Company master.Classifying Customers
 
-ERPNext allows you to group your Customers and also divide them into Territories. Grouping will help you get better analysis of your data and identify what Customers are profitable and which are not and Territories will help you set sales targets for the territories.
+ERPNext allows you to group your Customers and also divide them into Territories. Grouping will help you get better analysis of your data and identify which Customers are profitable and which are not. Territories will help you set sales targets for the respective territories.
 
 ### Customer Group
 
@@ -56,7 +56,7 @@
 
 ### Sales Person
 
-Sales Persons behave exactly like Territories. You can great an organization chart of Sales Persons where each Sales Person’s target can be set individually. Again as in Territory, the target has to be set against Item Group.
+Sales Persons behave exactly like Territories. You can create an organization chart of Sales Persons where each Sales Person’s target can be set individually. Again as in Territory, the target has to be set against Item Group.
 
 ### Sales Partner
 
diff --git a/docs/docs.user.selling.lead.md b/docs/docs.user.selling.lead.md
index 5e0f399..08aec35 100644
--- a/docs/docs.user.selling.lead.md
+++ b/docs/docs.user.selling.lead.md
@@ -8,17 +8,17 @@
 - Listing your product on directories.
 - Maintaining an updated and searchable website.
 - Meeting people at trade events.
-- Advertising your product or service.
+- Advertising your product or services.
 
-When you send out the word that you are around and have something valuable offer, people will come in to check out your product. These are your Leads.
+When you send out the word that you are around and have something valuable to offer, people will come in to check out your product. These are your Leads.
 
-They are called Leads because they may lead you to sale. Sales people usually work on leads by calling them, building a relationship and sending information about your products or services. It is important to track all this conversation so that in case another person has to follow-up that person knows the history of this Lead.
+They are called Leads because they may lead you to a sale. Sales people usually work on leads by calling them, building a relationship and sending information about their products or services. It is important to track all this conversation to enable another person who may have to follow-up on that contact. The new person is then able to know the history of that particular Lead.
 
 To create a Lead, go to:
 
 > Selling > Lead > New Lead
 
-ERPNext gives you a lot of options you may want to store about your Leads. For example what is the source, how likely are they to give you business etc. If you have a healthy number of leads, this information will help you prioritize who you want to work on.
+ERPNext gives you a lot of options you may want to store about your Leads. For example what is the source, how likely are they to give you business etc. If you have a healthy number of leads, this information will help you prioritize who you want to work with.
 
 > **Tip:** ERPNext makes it easy to follow-up on leads by updating the “Next Contact” details. This will add a new event in the Calendar for the User who has to contact the lead next.
 
diff --git a/docs/docs.user.selling.md b/docs/docs.user.selling.md
index 56ca481..5c1b6a7 100644
--- a/docs/docs.user.selling.md
+++ b/docs/docs.user.selling.md
@@ -3,6 +3,6 @@
 	"_label": "Selling"
 }
 ---
-Selling is that the communication that happens with the customer the prior to and during the sale. You might be managing all the communication yourself or you may have a small team of sales people to handle this. ERPNext helps you track the communication leading up to the sale, by keeping all your documents in an organized and searchable manner.
+Selling is the communication that happens with the customer prior to and during the sale. You might be managing all the communication yourself or you may have a small team of sales people to handle this. ERPNext helps you track the communication leading up to the sale, by keeping all your documents in an organized and searchable manner.
 
 ERPNext helps you track business **Opportunities** from **Leads** and **Customers**, send them **Quotations** and make confirmed **Sales Orders**.
diff --git a/docs/docs.user.selling.opportunity.md b/docs/docs.user.selling.opportunity.md
index d3945b5..f52909b 100644
--- a/docs/docs.user.selling.opportunity.md
+++ b/docs/docs.user.selling.opportunity.md
@@ -13,4 +13,4 @@
 
 An Opportunity can also come from an existing Customer. You can create multiple Opportunities against the same Lead. In Opportunity, apart from the Communication, you can also add the Items for which the Lead or Contact is looking for. 
 
-> Best Practice: Leads and Opportunities are often referred as your “Sales Pipeline” this is what you need to track if you want to be able to predict how much business you are going to get in the future. Its always a good idea to be able to track what is coming so that you can adjust your resources.
\ No newline at end of file
+> Best Practice: Leads and Opportunities are often referred as your “Sales Pipeline” this is what you need to track if you want to be able to predict how much business you are going to get in the future. Its always a good idea to be able to track what is coming in order to adjust your resources.
\ No newline at end of file
diff --git a/docs/docs.user.selling.quotation.md b/docs/docs.user.selling.quotation.md
index 6227d95..70b2c6e 100644
--- a/docs/docs.user.selling.quotation.md
+++ b/docs/docs.user.selling.quotation.md
@@ -3,7 +3,7 @@
 	"_label": "Quotation"
 }
 ---
-During a sale, the customer may want you to give a written note about the products or services you are planning to offer along with the prices and other terms of engagement. This is called a “Proposal” or an “Estimate” or a “Pro Forma Invoice”or a Quotation.
+During a sale, the customer may want you to give him a written note about the products or services you are planning to offer, along with the prices and other terms of engagement. This is called a “Proposal” or an “Estimate” or a “Pro Forma Invoice”or a Quotation.
 
 To create a new Quotation go to:
 
@@ -11,11 +11,11 @@
 
 A Quotation contains details about:
 
-- Who is the recipient of the Quotation.
+- The recipient of the Quotation
 - The Items and quantities you are offering.
 - The rates at which they are offered.
 - The taxes applicable.
-- Other charges (like shipping, insurance) if they are applicable.
+- Other charges (like shipping, insurance) if applicable.
 - The validity of contract.
 - The time of delivery.
 - Other conditions.
@@ -28,7 +28,7 @@
 The rates you quote may depend on two things.
 
 - The Price List: If you have multiple Price Lists, you can select a Price List or tag it to the Customer (so that it is auto-selected). Your Item prices will automatically be updated from the Price List.
-- The Currency: If you are quoting to a Customer in a different currency, you will have to update the conversion rates so that ERPNext will also save the information in your standard Currency. This will help you to analyze the value of your Quotations in reports in your standard Currency.
+- The Currency: If you are quoting to a Customer in a different currency, you will have to update the conversion rates to enable ERPNext to save the information in your standard Currency. This will help you to analyze the value of your Quotations in reports in your standard Currency.
 
 ### Taxes
 
@@ -60,7 +60,7 @@
 
 > Tip: Quotations can also be titled as “Proforma Invoice” or “Proposal”. Select the right heading in the “Print Heading” field in the “More Info” section. To create new Print Headings go to Setup > Branding and Printing > Print Headings.
 
-## Dicounts
+## Discounts
 
 While making your sales transactions like a Quotation (or Sales Order) you would already have noticed that there is a “Discount” column. On the left is the “Price List Rate” on the right is the “Basic Rate”.  You can add a “Discount” value to update the basic rate.
 
@@ -70,5 +70,5 @@
 
 There is a third way to do it. Create an Item called “Discount” and make sure that all the taxes apply in the same way as the main Items. (This method is useful if only one type of tax is applicable on the sale). This way your “Discount” will appear as an expense. You will see a slightly higher income and expense but your profits will still remain the same. This method might be interesting where you want detailed accounting of your discounts.
 
-> Note: The maximum Discount that can be applied on an Item can up fixed in the Item master.
+> Note: The maximum Discount that can be applied on an Item can be fixed in the Item master.
 
diff --git a/docs/docs.user.selling.sales_order.md b/docs/docs.user.selling.sales_order.md
index 148200d..97b961e 100644
--- a/docs/docs.user.selling.sales_order.md
+++ b/docs/docs.user.selling.sales_order.md
@@ -11,10 +11,10 @@
 
 > Selling > Sales Order > New Sales Order
 
-Most of the information in your Sales Order is the same as the Quotation. There are a few of more things a Sales Order will ask you to update.
+Most of the information in your Sales Order is the same as the Quotation. There are a few amongst other things that a Sales Order will ask you to update.
 
 - Expected date of delivery.
-- Customer Purchase Order number: If you customer has sent you a Purchase Order, you can update its number for future reference (in billing).
+- Customer Purchase Order number: If your customer has sent you a Purchase Order, you can update its number for future reference (in billing).
 
 #### Packing List
 
@@ -30,13 +30,13 @@
 
 **Sales Partner:** If this Sale was booked via a Sales Partner, you can update the Sales Partner’s details with commission and other info that you can aggregate.
 
-**Sales Persons:** ERPNext allows you to tag multiple Sales Persons who may have worked on this deal. You can also split the amount in targets of different Sales Persons and track how much invectives they earned on this deal.
+**Sales Persons:** ERPNext allows you to tag multiple Sales Persons who may have worked on this deal. You can also split the amount in targets of different Sales Persons and track how much incentives they earned on this deal.
 
 #### Next Steps
 
 Once your “Submit” your Sales Order, you can now trigger different aspects of your organization:
 
-- To being purchase click on “Make Purchase Request”
+- To begin purchase click on “Make Purchase Request”
 - To make a shipment entry click on “Make Delivery Note”
 - To bill, make “Make Sales Invoice”
 - To stop further process on this Sales Order, click on “Stop”
diff --git a/docs/docs.user.setup.accounting.md b/docs/docs.user.setup.accounting.md
index d6e4c52..c8e8bef 100644
--- a/docs/docs.user.setup.accounting.md
+++ b/docs/docs.user.setup.accounting.md
@@ -13,11 +13,11 @@
 
 - What is your organization worth?
 - How much debt have you taken?
-- How much profit you are making (and hence paying tax)?
-- How much is are you selling?
+- How much profit are you making (and hence paying tax)?
+- How much are you selling?
 - How are your expenses broken up?
 
-As you can see, it is very valuable to you as a business manager to see how well your business is doing. 
+ You may note that as a business manager,it is very valuable  to see how well your business is doing. 
 
 > Tip: If you can’t read a Balance Sheet (I confess it took me a long time to figure this out) its a good opportunity to start learning about this. It will be worth the effort. You can also take the help of your accountant to setup your Chart of Accounts.
 
@@ -37,7 +37,7 @@
 
 The Balance Sheet has Application of Funds (Assets) and Sources of Funds (Liabilities) that signify the net-worth of your company at any given time. When you begin or end a financial period, all the Assets are equal to the Liabilities.
 
-> Accounting: If you are new to accounting, you might be wondering, how can Assets be equal to Liabilities? That would mean the company has nothing of its own. Thats right. All the “investment” made in the company to buy assets (like land, furniture, machines) is made by the owners and is a liability to the company. If the company would to shut down, it would need to sell all the assets and pay back all the liabilities (including profits) to the owners, leaving itself with nothing.
+> Accounting: If you are new to accounting, you might be wondering, how can Assets be equal to Liabilities? That would mean the company has nothing of its own. Thats right. All the “investment” made in the company to buy assets (like land, furniture, machines) is made by the owners and is a liability to the company. If the company would want to shut down, it would need to sell all the assets and pay back all the liabilities (including profits) to the owners, leaving itself with nothing.
 
 All the accounts under this represent an asset owned by company like "Bank Account", "Land and Property", "Furniture" or a liability (funds that the company owes to others) like "Owners funds", "Debt" etc.
 
@@ -47,7 +47,7 @@
 
 Profit and Loss is the group of Income and Expense accounts that represent your accounting transactions over a period.
 
-Unlike Balance sheet accounts, Profit and Loss accounts (or PL accounts) do not represent net worth (assets), but rather the amount of money spent and collected in servicing customers during the period. Hence at the beginning and end of your Fiscal Year, they become zero.
+Unlike Balance sheet accounts, Profit and Loss accounts (or PL accounts) do not represent net worth (assets), but rather represent the amount of money spent and collected in servicing customers during the period. Hence at the beginning and end of your Fiscal Year, they become zero.
 
 (On the first day of the year you have not made any profit or loss, but you still have assets, hence balance sheet accounts never become zero at the beginning or end of a period)
 
@@ -71,7 +71,7 @@
 
 ### Creating / Editing Accounts
 
-To create new Accounts, explore your Chart of Accounts and click on an Account group under which you want to create the new Account. On the right side, you will see a options to “Edit” or “Add” a new Account.
+To create new Accounts, explore your Chart of Accounts and click on an Account group under which you want to create the new Account. On the right side, you will see an option to “Edit” or “Add” a new Account.
 
 ![Chart of Accounts: New Account](img/chart-of-accounts-2.png)
 
diff --git a/docs/docs.user.setup.cost_centers.md b/docs/docs.user.setup.cost_centers.md
index 25b246c..ca5e595 100644
--- a/docs/docs.user.setup.cost_centers.md
+++ b/docs/docs.user.setup.cost_centers.md
@@ -8,7 +8,7 @@
 }
 ---
 
-Your Chart of Accounts is mainly for reporting your information for governmental purposes and less for how you business actually performs. Though you can tweak it a bit to resemble your business.
+Your Chart of Accounts is mainly for reporting your information for governmental purposes and less for how your business actually performs. Though you can tweak it a bit to resemble your business.
 ￼
 Most businesses have multiple activities like different product lines, market segments, areas of business that share some common overheads but should ideally have their own structure to report whether they are profitable or not. For this purpose, there is an alternate structure, called the Chart of Cost Centers.
 
@@ -21,7 +21,7 @@
 
 You may not have shipping expenses for your walk-in customers, and no shop-rent for your online customers. If you want to get the profitability of each of these separately, you create the two as Cost Centers and you can mark all sales as either "Walk-in" or "Online" and also all your purchases in the same way.
 
-So when you do your analysis you can get a better idea which side of your business is doing better.  Since ERPNext has option to add multiple Companies, you can create Cost Centers for each Company and manage it separately.
+So when you do your analysis you get a better understanding as to which side of your business is doing better.  Since ERPNext has an option to add multiple Companies, you can create Cost Centers for each Company and manage it separately.
 
 ### Chart of Cost Centers
 
@@ -33,9 +33,9 @@
 
 ### Budgeting
 
-ERPNext will help you set and manage budgets on your Cost Centers. This is useful when, for example, you are doing online sales and you have a budget for search ads and you want ERPNext to stop or warn you from over spending based on that budget. 
+ERPNext will help you set and manage budgets on your Cost Centers. This is useful when, for example, you are doing online sales. You have a budget for search ads, and you want ERPNext to stop or warn you from over spending, based on that budget. 
 
-Budgets are also great for planning purposes. When you are making your plans for the next financial year, you would typically target a revenue and based on that you would set your expenses. Setting a budget will ensure that your expenses do not get out of hand at any point based on your plans.
+Budgets are also great for planning purposes. When you are making your plans for the next financial year, you would typically target a revenue based on which you would set your expenses. Setting a budget will ensure that your expenses do not get out of hand, at any point,as per your plans.
 
 You can define it in the Cost Center. If you have seasonal sales you can also define a budget distribution that the budget will follow.
 ￼
@@ -53,4 +53,4 @@
 
 Even if you choose to “ignore” budget overruns, you will get a wealth of information from the “Budget vs Actual” variance report.
 
-> Note: When you set a budget, it has to be set per Account under the Cost Center. For example if you have a Cost Center “Online Sales”, you can restrict “Advertising Budget” by creating a row with that Account and defining the amount.
\ No newline at end of file
+> Note: When you set a budget, it has to be set as per Account under the Cost Center. For example if you have a Cost Center “Online Sales”, you can restrict “Advertising Budget” by creating a row with that Account and defining the amount.
\ No newline at end of file
diff --git a/docs/docs.user.setup.data_import.md b/docs/docs.user.setup.data_import.md
index c7c6f94..ae2ee4b 100644
--- a/docs/docs.user.setup.data_import.md
+++ b/docs/docs.user.setup.data_import.md
@@ -11,11 +11,11 @@
 
 To upload any type of information, select a type from the drop-down. When you select, the system will give you one or more list of templates you can download. So why multiple templates?
 
-In ERPNext, each master or transaction is defined by a “main table” and “child tables”. These child tables are there because some master tables could have multiple value of certain properties. For example, select Item. Here you will see a number of “child” tables linked to the item table. This is because an Item can have multiple prices, taxes and so on! You must import each table separately. In the child table, you must the mention the parent of the row in the “parent” column so that ERPNext knows which Item’s price or tax you are trying to set.
+In ERPNext, each master or transaction is defined by a “main table” and “child tables”. These child tables are there because some master tables could have multiple value of certain properties. For example, select Item. Here you will see a number of “child” tables linked to the item table. This is because an Item can have multiple prices, taxes and so on! You must import each table separately. In the child table, you must mention the parent of the row in the “parent” column so that ERPNext knows which Item’s price or tax you are trying to set.
 
 ### The Template
 
-Here is a few tips of filling out your template:
+Here are a few tips to fill your template:
 
 - Don’t change any cells before the row “----Start entering data below this line----”.
 - Leave the first column blank.
@@ -24,11 +24,11 @@
 - Columns of type “Link” and “Select” will only accept values from a certain set.
 - For “Link” type columns, the value must be present in the table it links to.
 - For “Select” the options are given on the 6th row. The value must be one of those.
-- Dates: A number of standard date formats are accepted. Please make sure, your dates are in one of those formats.
+- Dates: A number of standard date formats are accepted. Please make sure, your dates are added in one of those formats.
 
 ### Overwriting
 
-ERPNext also allows you to overwrite all / certain columns. If you want to update certain column, you can download the template with data and when you upload remember to check on the “Overwrite” box before uploading.
+ERPNext also allows you to overwrite all / certain columns. If you want to update certain columns, you can download the template with data.Remember to check on the “Overwrite” box before uploading.
 
 > Note: For child records, if you select Overwrite, it will delete all the child records of that parent.
 
diff --git a/docs/docs.user.setup.email.md b/docs/docs.user.setup.email.md
index 21a82eb..371ef93 100644
--- a/docs/docs.user.setup.email.md
+++ b/docs/docs.user.setup.email.md
@@ -7,13 +7,13 @@
 
 ## Sending Emails
 
-You can email any document from the system, by click on the “Email” button in the right sidebar. Before that you will need to set your outgoing email settings (SMTP server).
+You can email any document from the system, by clicking on the “Email” button on the right sidebar. Before that you will need to set your outgoing email settings (SMTP server).
 
 All emails sent from the system are added to the Communication table.
 
-> **Info:** What is SMTP? There are two types of email services, sending and receiving emails. Sending is done via a protocol called SMTP (Simple Mail Transfer Protocol) and the server (computer) that sends your email to its destination is called and SMTP Server.
+> **Info:** What is SMTP? There are two types of email services, sending and receiving emails. Sending is done via a protocol called SMTP (Simple Mail Transfer Protocol) and the server (computer) that sends your email to its destination is called SMTP Server.
 
-> **Info:** Bulk Emails: Bulk Emails, especially those that are sent without consent (spam), are considered as bad behavior. While it may be okay to send emails to those who have “opted-in” to receive mails, it is very difficult for the internet community to know what is spam and what is allowed. To overcome this problem, most email servers share a black and whitelist of email senders. If your emails have been marked as spam, you will be blacklisted. So be careful. Many times, it may be a good idea to send email via whitelisted services also called SMTP relay services that are paid services. These services will block you from sending spam while ensuring that most of your email does not go in the spam folder. There are many such services available like SendGrid and SMTP.com
+> **Info:** Bulk Emails: Bulk Emails, especially those that are sent without consent (spam), are considered as bad behavior. While it may be okay to send emails to those who have “opted-in” to receive mails, it is very difficult for the internet community to know what is spam and what is allowed. To overcome this problem, most email servers share a black and white list of email senders. If your emails have been marked as spam, you will be blacklisted. So be careful. Many times, it may be a good idea to send email via whitelisted services also known as SMTP relay services which are paid services. These services will block you from sending spam while ensuring that most of your email does not go in the spam folder. There are many such services available like SendGrid and SMTP.com
 
 To setup your outgoing mails, go to
 
@@ -34,7 +34,7 @@
 > Setup > Email and Notifications > Email Settings > Incoming Mail Settings
 
 To make ERPNext pull emails from your mail box, enter the POP3 settings. (POP3 is a way of extracting emails from your mailbox. It should be fairly easy to find out what your POP3 settings are. If you have problems, contact your email service provider).
-If you want to setup an auto reply, check on the “Send Autoreply” box and when ever someone sends an email, an autoreply will be sent.
+If you want to setup an auto reply, check on the “Send Autoreply” box and whenever someone sends an email, an autoreply will be sent.
 Add a custom signature you want to send with your replies. 
 
 ### Setting Auto-notification on Documents
diff --git a/docs/docs.user.setup.first.md b/docs/docs.user.setup.first.md
index d47c9c9..5947257 100644
--- a/docs/docs.user.setup.first.md
+++ b/docs/docs.user.setup.first.md
@@ -14,7 +14,7 @@
 - Fiscal Year: is your financial year, the fiscal year usually starts on 1st Jan or 1st March for most regions. If you are not sure, consult an accountant.
 - Abbreviation: In a multi-company setup, the abbreviation is appended to each account, so keep it small (2-4) characters and all caps.
 
-This will also set the default **Currency** and time zone for your account. Once your complete this, your first **Company** and **Chart of Accounts** will be created.
+This will also set the default **Currency** and time zone for your account. Once you complete this, your first **Company** and **Chart of Accounts** will be created.
 
 Congrats! You are already on your way.
 
diff --git a/docs/docs.user.setup.letter_head.md b/docs/docs.user.setup.letter_head.md
index fc7477f..2bd1f8a 100644
--- a/docs/docs.user.setup.letter_head.md
+++ b/docs/docs.user.setup.letter_head.md
@@ -7,7 +7,7 @@
 
 > Setup > Branding and Printing > Letter Heads
 
-- Create an image with your logo, brand and other information you want to put on your letter head.
+- Create an image with your logo, brand and other information that you want to put on your letter head.
 - Attach the image in your Letter Head record and click on “Set From Image” to automatically generate the HTML required for this Letter Head.
 - If you want to make this the default letter head, click on “Is Default”.
 
diff --git a/docs/docs.user.setup.md b/docs/docs.user.setup.md
index 831afb7..afdd1d3 100644
--- a/docs/docs.user.setup.md
+++ b/docs/docs.user.setup.md
@@ -23,8 +23,8 @@
 }
 ---
 Setting up an ERP system is like starting your business all over again, but in the virtual
-world. Thankfully its not as hard as the real thing and you get to do a trial too.
+world. Thankfully it is not as hard as the real thing and you get to do a trial too.
 
-Implementation requires the implementer to a step back and set aside some time to do this right. This is usually not couple-of-hours after work kind of a project.
+Implementation requires the implementer to take a step back and set aside some time to do this right. This is usually not a couple-of-hours after-work kind of a project.
 
-Let us start with the screen you see the first time you login.
+Let us start with the screen which you see the first time you login.
diff --git a/docs/docs.user.setup.opening.md b/docs/docs.user.setup.opening.md
index 3f8cdb4..6b0759d 100644
--- a/docs/docs.user.setup.opening.md
+++ b/docs/docs.user.setup.opening.md
@@ -21,7 +21,7 @@
 
 #### Temporary Accounts
 
-A nice way to simplify opening is to create temporary accounts for assets and liability just for opening. These accounts will become zero once all your old invoices are entered. The two accounts you can create are (example):
+A nice way to simplify opening is to create temporary accounts for assets and liability just for opening. These accounts will become zero once all your old invoices are entered. The two accounts which you can create are (example):
 
 - Temp Opening Liabilities
 - Temp Opening Assets
@@ -34,7 +34,7 @@
 
 You can make two Opening Journal Vouchers:
 
-- For all assets (excluding Accounts Receivables): This entry will contain all your assets except the amounts you are expecting from your Customers against outstanding Sales Invoices. You will have to update your receivables by making an individual entry for each Invoice (this is because, the system will help you track the which Invoices are yet to be paid). Since all the entries in this voucher will be of type “Debit”, you can credit the sum of all these debits against the “Temp Opening Liabilities” account.
+- For all assets (excluding Accounts Receivables): This entry will contain all your assets except the amounts you are expecting from your Customers against outstanding Sales Invoices. You will have to update your receivables by making an individual entry for each Invoice (this is because, the system will help you track the invoices which are yet to be paid). Since all the entries in this voucher will be of type “Debit”, you can credit the sum of all these debits against the “Temp Opening Liabilities” account.
 - For all liabilities: Similarly you need to pass a Journal Voucher for your Opening Liabilities (except for the bills you have to pay). This can be made against the “Temp Opening Assets” account.
 
 #### Outstanding Invoices
diff --git a/docs/docs.user.setup.permissions.md b/docs/docs.user.setup.permissions.md
index 169ebff..496ba97 100644
--- a/docs/docs.user.setup.permissions.md
+++ b/docs/docs.user.setup.permissions.md
@@ -3,7 +3,7 @@
 	"_label": "Setting up Users, Roles and Permissions"
 }
 ---
-ERPNext has a role-based permission system, which means that you can assign Roles to Users and permissions on Roles.
+ERPNext has a role-based permission system, which means that you can assign Roles to Users, and permissions on Roles.
 
 ## Users (Profile)
 
@@ -20,11 +20,11 @@
 - Last Name
 - Password
 
-An invitation email will will be sent to the user with the login details.
+An invitation email will be sent to the user with the login details.
 
 #### Setting Roles
 
-ERPNext comes with a bunch of predefined roles. Each role comes with predefined permissions. See the Preset Permission Chart to find out what permission each roles comes with.
+ERPNext comes with a bunch of predefined roles. Each role comes with predefined permissions. See the Preset Permission Chart to find out what permission each role comes with.
 
 After creating the User, you can add / remove Roles for that User by clicking on “Roles” button. To find out what permission each role has, click on the “?” sign next to the Role.
 
@@ -64,7 +64,7 @@
 
 To add a new rule, click on “Add a New Rule” button and a pop-up box will ask you to select a Role and a Permission Level. Once you select this and click on “Add”, this will add a new row to your rules table.
 
-To edit rules, just check or uncheck the boxes relating the the permission level and Role and click on “Update”.
+To edit rules, just check or uncheck the boxes stating the permission level and Role and click on “Update”.
 
 To delete a rule, just uncheck all the boxes of the row and click on “Update” 
 
diff --git a/docs/docs.user.setup.series.md b/docs/docs.user.setup.series.md
index 6db08e3..695cf77 100644
--- a/docs/docs.user.setup.series.md
+++ b/docs/docs.user.setup.series.md
@@ -23,7 +23,7 @@
 
 1. Select the transaction for which you want to make the series
 The system will update the current series in the text box.
-1. Edit the the series as you want with unique prefixes for each series. Each prefix must be on a new line.
+1. Edit the series as required with unique prefixes for each series. Each prefix must be on a new line.
 1. The first prefix will be the default prefix. If you want the user to explicitly select a series instead of the default one, check the “User must always select” check box.
 
 You can also update the starting point for a series by entering the series name and the starting point in the “Update Series” section.
\ No newline at end of file
diff --git a/docs/docs.user.setup.taxes.md b/docs/docs.user.setup.taxes.md
index 7739567..70b7cc7 100644
--- a/docs/docs.user.setup.taxes.md
+++ b/docs/docs.user.setup.taxes.md
@@ -13,7 +13,7 @@
 
 You must usually collect taxes from your Customer and pay them to the government. At times there may be multiple taxes for multiple government bodies like local government, state or provincial and federal or central government.
 
-The way ERPNext sets up taxes is via templates. Other types of charges that you may apply to your invoices (like shipping, insurance etc.) can also be configured as taxes.
+The way ERPNext sets up taxes is via templates. Other types of charges that may apply to your invoices (like shipping, insurance etc.) can also be configured as taxes.
 
 To create a new sales tax template called Sales Taxes and Charges Master, you have to go to:
 
diff --git a/docs/docs.user.stock.delivery_note.md b/docs/docs.user.stock.delivery_note.md
index 447d2db..b1d1736 100644
--- a/docs/docs.user.stock.delivery_note.md
+++ b/docs/docs.user.stock.delivery_note.md
@@ -21,9 +21,9 @@
 
 If you are shipping Items that have a Sales BOM, ERPNext will automatically create a “Packing List” table for you based on the sub-Items in that Item. (See the Item explanation for more information).
 
-If your Items are serialized, then you for Sales BOM type of Items, you will have to update the Serial Number in the “Packing List” table.
+If your Items are serialized, then for Sales BOM type of Items, you will have to update the Serial Number in the “Packing List” table.
 
-### Packing Items in to Cases for Container Shipment
+### Packing Items in to Cases, for Container Shipment
 
 If you are doing container shipment or by weight, then you can use the Packing Slip to breakup your Delivery Note into smaller units. To make a Packing Slip go to:
 
diff --git a/docs/docs.user.stock.item.md b/docs/docs.user.stock.item.md
index 06abd21..0f4b106 100644
--- a/docs/docs.user.stock.item.md
+++ b/docs/docs.user.stock.item.md
@@ -6,13 +6,13 @@
 ---
 Items, Customers and Suppliers form the foundation of any ERP system.
 
-It is very likely you will have your masters ready in another system or a spread sheet and you would just need to import them. Before importing, it might be a good idea to understand how ERPNext treats them a bit first.
+It is very likely that you will have your masters ready in another system or a spread sheet  saved somewhere else. You may just need to import them. Before importing, it might be a good idea to understand how ERPNext manages these records.
 
 ---
 
 ## Items
 
-An Item is simply a product or service you sell or buy from your Customers or Suppliers. ERPNext is optimized for itemized management of your sales and purchase though you can skip creating Items. If you are in services, you can create an Item for each service that your offer.
+An Item is simply a product or service which you sell or buy from your Customers or Suppliers. ERPNext is optimized for itemized management of your sales and purchase. However, you can skip creating Items. If you are in services, you can create an Item for each services that your offer.
 
 > Items are mandatory if you want to track inventory.
 
@@ -40,7 +40,7 @@
 
 Stores: These are where your incoming Items are kept before they are consumed or sold. You can have as many “Stores” type Warehouses as you wish. Stores type warehouses are significant because if you set an Item for automatic re-order, ERPNext will check its quantities in all “Stores” type Warehouses when deciding whether to re-order or not.
 
-Asset: Items marked as type “Fixed Asset” are maintained in Asset Type Warehouses. This helps you separate them for the Items that are consumed as a part of your regular operations or “Cost of Goods Sold”.
+Asset: Items marked as type “Fixed Asset” are maintained in Asset Type Warehouses. This helps you to separate them for the Items that are consumed as a part of your regular operations or “Cost of Goods Sold”.
 
 ### Item Taxes
 
@@ -52,7 +52,7 @@
 
 Inspection Required: If an incoming inspection (at the time of delivery from the Supplier) is mandatory for this Item, mention “Inspection Required” as “Yes”. The system will ensure that a Quality Inspection will be prepared and approved before a Purchase Receipt is submitted.
 
-Inspection Criterial: If a Quality Inspection is prepared for this Item, then this template of criteria can will automatically be updated in the Quality Inspection table of the Quality Inspection.  Examples of Criteria are: Weight, Length, Finish etc.
+Inspection Criteria: If a Quality Inspection is prepared for this Item, then this template of criteria will automatically be updated in the Quality Inspection table of the Quality Inspection.  Examples of Criteria are: Weight, Length, Finish etc.
 
 ### Item Pricing and Price Lists
 
@@ -77,7 +77,7 @@
 
 There are two major ways in which ERPNext values your items.
 
-- **FIFO (First In First Out):** In this system, ERPNext assumes that you will consume / sell those Items first that you bought first. For example, if you buy an Item at price X and then after a few days at price Y. So when sell your Item, ERPNext will reduce the quantity of the Item priced at X first and then Y.
+- **FIFO (First In First Out):** In this system, ERPNext assumes that you will consume / sell those Items first that you bought first. For example, if you buy an Item at price X and then after a few days at price Y. Thus when you sell your Item, ERPNext will reduce the quantity of the Item priced at X first and then Y.
 
 ￼
 
@@ -103,4 +103,4 @@
 
 In ERPNext, Serial Number and Batch are separate entities and all stock transactions for Items that serialized or batches must be tagged with either the Batch or Serial Number.
 
-> Important: Once you mark an item as serialized or batched or neither, you cannot change it after you have make any stock entry.
+> Important: Once you mark an item as serialized or batched or neither, you cannot change it after you have made any stock entry.
diff --git a/docs/docs.user.stock.md b/docs/docs.user.stock.md
index eeb4e8a..820a4c7 100644
--- a/docs/docs.user.stock.md
+++ b/docs/docs.user.stock.md
@@ -9,7 +9,7 @@
 
 There are two aspects to good material management:
 
-- **Good housekeeping / visual control:** Keep all your items in separate bins and each neatly stacked and labelled.  “A place for everything and everything in its place” 
+- **Good housekeeping / visual control:** Keep all your items in separate bins,neatly stacked and labelled.  “A place for everything and everything in its place” 
 - **Accurate Data:** Accurate data comes from good processes and recording each and every transaction. If you are only partially recording your inventory then your reports will be incorrect  “Garbage In Garbage Out”
 
 If you have good processes to control movement of goods within your organization, implementation in ERPNext will be a breeze.
diff --git a/docs/docs.user.stock.purchase_receipt.md b/docs/docs.user.stock.purchase_receipt.md
index eab703c..1d403d5 100644
--- a/docs/docs.user.stock.purchase_receipt.md
+++ b/docs/docs.user.stock.purchase_receipt.md
@@ -15,13 +15,13 @@
 
 ### Rejections
 
-In the Purchase Receipt, you will need to enter if all the materials you receive are of accepted quality (if you check). If you have any rejections, update the “Rejected Quantity” column in the Items table.
+In the Purchase Receipt, you are required to enter whether all the materials you receive are of accepted quality (in case you check). If you have any rejections, update the “Rejected Quantity” column in the Items table.
 
-If you reject, you will need to enter a “Rejected Warehouse” to indicate where you are storing the rejected Items.
+If you reject, you are required to enter a “Rejected Warehouse” to indicate where you are storing the rejected Items.
 
 ### Quality Inspections
 
-If for certain Items it is mandatory for your to record Quality Inspections (you have set it in your Item master), you will need to update the “Quality Inspection No” (QA No) column. The system will only allow you to “Submit” the Purchase Receipt if you update the “Quality Inspection No”.
+If for certain Items it is mandatory for you to record Quality Inspections (you have set it in your Item master), you will need to update the “Quality Inspection No” (QA No) column. The system will only allow you to “Submit” the Purchase Receipt if you update the “Quality Inspection No”.
 
 ### UOM Conversions
 
@@ -29,7 +29,7 @@
 
 ### Currency Conversions
 
-Since the incoming Item affects the value of your inventory, it is important to convert it into your base Currency if you have ordered in another Currency. You will need to update the Currency Conversion Rate if applicable.
+Since the incoming Item affects the value of your inventory, it is important to convert it into your base Currency, if you have ordered in another Currency. You will need to update the Currency Conversion Rate if applicable.
 
 ### Taxes and Valuation
 
diff --git a/docs/docs.user.stock.serialized.md b/docs/docs.user.stock.serialized.md
index bc5d33e..5a9f32b 100644
--- a/docs/docs.user.stock.serialized.md
+++ b/docs/docs.user.stock.serialized.md
@@ -7,7 +7,7 @@
 
 **Serial Nos** are also useful to maintain fixed assets. **Maintenance Schedules** can also be created against serial numbers for planning and scheduling maintenance activity for these assets (if they require maintenance).
 
-You can also track from which **Supplier** your purchased the **Serial No** and to which **Customer** you have sold it. The **Serial No** status will tell you its current inventory status.
+You can also track from which **Supplier** you purchased the **Serial No** and to which **Customer** you have sold it. The **Serial No** status will tell you its current inventory status.
 
 If your Item is *serialized* you will have to enter the Serial Nos in the related column with each Serial No in a new line.
 
@@ -20,6 +20,6 @@
 
 Serial Nos are a useful tool for tracking different kinds of Items, by using it along with Custom Fields. For example, in our internal system at Web Notes, each ERP account is a Serial No, with type of user “Plan” as the Item, its expiry date, whether it is Trial or Paid and other details as Custom Fields.
 
-We have known customers who use Serial Nos to track fixed assets, real-estate properties or advertisement slots or library books!
+We have known customers who use Serial Nos to track fixed assets, real-estate properties or advertisement slots, even library books!
 
 Since Serial Nos are deeply linked with all the core modules, Selling, Buying, Inventory and Accounting, you may find many uses for them.
\ No newline at end of file
diff --git a/docs/docs.user.stock.stock_entry.md b/docs/docs.user.stock.stock_entry.md
index 848db39..8eda743 100644
--- a/docs/docs.user.stock.stock_entry.md
+++ b/docs/docs.user.stock.stock_entry.md
@@ -5,7 +5,7 @@
 ---
 A Stock Entry is a simple document that lets you record Item movement from a Warehouse, to a Warehouse and between Warehouses.
 
-This can be useful in also tracking:
+This can also be useful in tracking:
 
 - Material Issues from Stores
 - Sales and Purchase Returns
diff --git a/docs/docs.user.stock.sub_contracting.md b/docs/docs.user.stock.sub_contracting.md
index 5d66227..7538404 100644
--- a/docs/docs.user.stock.sub_contracting.md
+++ b/docs/docs.user.stock.sub_contracting.md
@@ -3,14 +3,14 @@
 	"_label": "Subcontracting"
 }
 ---
-If you business involves outsourcing certain processes to a third party Supplier, where you buy the raw material, you can track this by using the sub-contracting feature of ERPNext.
+If your business involves outsourcing certain processes to a third party Supplier, where you buy the raw material from, you can track this by using the sub-contracting feature of ERPNext.
 
 To setup sub-contracting:
 
 1. Create separate Items for the unprocessed and the processed product. For example if you supply unpainted X to your Supplier and the Supplier returns you X, you can create two Items: “X-unpainted” and “X”.
-1. Create a Warehouse for your Supplier so that you can keep track of Items supplied. (you may supply a month’s worth of Items in one go).
-1. For the processed Item, in the Item master set “Is Sub Contracted Item” to “Yes”.
-1. Make a Bill of Materials for the processed Item, with the unprocessed Items as a sub-items.
+1. Create a Warehouse for your Supplier so that you can keep track of Items supplied. (you may supply a months worth of Items in one go).
+1. For the processed Item, in the Item master, set “Is Sub Contracted Item” to “Yes”.
+1. Make a Bill of Materials for the processed Item, with the unprocessed Items as sub-items.
 1. Make a Purchase Order for the processed Item. When you “Save”, in the “Raw Materials Detail”, all your un-processed Items will be updated based on your Bill of Materials.
 	1. Make sure that the “Rate” of this Item is the processing rate (excluding the raw material rate).
 	1. ERPNext will automatically add the raw material rate for your valuation purpose when you receive the finished Item in your stock. 
