diff --git a/docsource/090_contribute.rst b/docsource/090_contribute.rst
index e0037433e7d3..c0bcf4e17c67 100644
--- a/docsource/090_contribute.rst
+++ b/docsource/090_contribute.rst
@@ -10,6 +10,45 @@ In order to contribute to the OpenUpgrade project, please
database, and give back any code improvements developed during the project.
+How to contribute new migration scripts
+---------------------------------------
+
+To Contribute to OpenUpgrade you must make one pull request per module.
+
+For example, if you want to propose the migration script of the ``account``
+module from version 15.0 to version 16.0:
+
+ * Always ensure that there is no work already in progress by a community member.
+ For that purpose, go the issue named "Migration to version 16.0" on github
+ `here `_.
+
+ * Then, ensure that all the dependencies of the module are mark as ``done`` or
+ ``Nothing to do`` in OpenUpgrade for that version.
+ For that purpose, refer to :doc:`030_coverage_analysis`.
+ In our example, check the ``depends`` key of the `manifest `_ of the ``account`` module
+ If some dependencies are missing, you should start by migrating these modules.
+
+ * As other OCA contribution, create a new branch, from an up to date OCA branch:
+
+ ``git checkout -b 16.0-mig-account``
+
+ * Make a copy of the analysis file.
+
+ ``cd ./openupgrade_scripts/scripts/account/16.0.1.2/``
+ ``cp upgrade_analysis.txt upgrade_analysis_work.txt``
+
+ * Explain the changes to do in the ``upgrade_analysis_work.txt``.
+ Write ``pre-migration.py`` and / or ``post-migration.py`` scripts in the same folder.
+ Comment / uncomment lines in ``noupdate_changes.xml``.
+ (Read more in :doc:`080_migration_script_development`)
+
+ * Finally, commit your changes.
+ ``git add . && git commit -am "[OU-ADD] account"``
+ (For a fix, use ``[OU-FIX]`` prefix)
+
+ * Propose your changes to the community, for review.
+ ``git push MY_REMOTE 16.0-mig-account``
+
Community involvement
---------------------