# Contributing to ERPNext ### Reporting issues We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems. Please read the following guidelines before opening any issue. 1. **Search for existing issues.** We want to avoid duplication, and you'd help us out a lot by first checking if someone else has reported the same issue. Moreover, the issue may have already been resolved with a fix available. 1. **Share as much information as possible.** Include operating system and version, browser and version, when did you last update ERPNext, how is it customized, etc. where appropriate. Also include steps to reproduce the bug. ### New Features #### Don't Repeat Yourself (DRY) We believe that the most effective way to manage a product like this is to ensure that there is minimum repetition of code. So before contributing a function, please make sure that such a feature or function does not exist else where. If it does, the try and extend that function to accommodate your use case. #### Don't create new DocTypes Unless Absolutely Necessary DocTypes are easy to create but hard to maintain. If you find that there is a another DocType with a similar functionality, then please try and extend that functionality. For example, by adding a "type" field to classify the new type of record. #### Tabs or spaces? Tabs! ### Copyright Please see README.md