diff --git a/documentation/operator-guide/ingestion.rst b/documentation/operator-guide/ingestion.rst
index 273455d5d41d11d88c82b1679197447c70b74cd5..dc1b31aaab837ab4514ec8949c3047d389a7cb34 100644
--- a/documentation/operator-guide/ingestion.rst
+++ b/documentation/operator-guide/ingestion.rst
@@ -233,3 +233,43 @@ The reverse command excludes a product from a collection:
     manage.py collection exclude <collection-id> <product-id>
 
 Again, multiple products can be excluded in a single call.
+
+
+Product Handling
+~~~~~~~~~~~~~~~~
+
+Registration
+  Products can be registered using the EOxServer CLI tools as well.
+
+  .. code-block:: bash
+
+    manage.py product register \
+        --metadata-file data25 /OA/PL00/1.0/00/urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7/0001/PL00_DOV_MS_L3A_20180811T081455_20180811T081455_TOU_1234_3be7.DIMA.tar/metadata.xml \
+        --print-identifier \
+        --type PL00
+
+  The identifier of the newly registered product is printed to the console and
+  can be used to put it into a collection. Additionally, it is necessary to add
+  a coverage to it, which can be registered like:
+
+  .. code-block:: bash
+
+    manage.py coverage register \
+        -d data25 /OA/PL00/1.0/00/urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7/0001/PL00_DOV_MS_L3A_20180811T081455_20180811T081455_TOU_1234_3be7.DIMA.tar/some.tif \
+        -m data25 /OA/PL00/1.0/00/urn:eop:DOVE:MULTISPECTRAL_4m:20180811_081455_1054_3be7/0001/PL00_DOV_MS_L3A_20180811T081455_20180811T081455_TOU_1234_3be7.DIMA.tar/metadata.xml \
+        --identifier "${product_id}_coverage" \
+        --type RGBNir
+
+Deregistration
+  Products and coverages need to be derigestered when no longer in use. A
+  product can be deregistered using its identifier:
+
+  .. code-block:: bash
+
+    manage.py product deregister "${product_id}"
+
+  The contained coverage must also be deregistered manually:
+
+  .. code-block:: bash
+
+    manage.py coverage deregister "${product_id}_coverage"