#. Create a membership product (fixed or variable period).
#. Sell the product to a member via a sales order or invoice.
#. The invoice generates a membership line with provisional dates.
#. When the invoice is paid (e.g. bank transfer registered manually),
   the membership line dates are automatically updated:

   * **date_from** is set to the payment date (or the day after the
     current active membership expires, in case of renewal).
   * **date_to** is recalculated based on the new date_from for
     variable-period products.
