Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

If modules Billing and Envia are active at the same time there are some interactions that can cause problems on invoice production. To avoid this we have to set start and end dates of items to correct values (which can extracted from EnviaOrders).

So Nino and Patrick made some decisions:

  1. Add a bundled_with_voip flag to products of type internet. We get two subgroups of internet products which then will be used for standalone (=without VoIP) or mixed calculation.
  2. Start and end dates of items will be automatically updated from provvoipenvia:update_envia_orders cron command.
  3. ItemObserver and provvoipenvia:update_envia_orders will also set the originally used data fields (e.g. voip_id in contract table or activation_date in phonenumbermanagement) to actual values. So module Envia can use this entries in each case (billing active or not) and there is no need of double implementation.
  4. The main problem (and cause for complexity) is that update_envia_orders have to update start and end dates of up to three items per cycle. To avoid n:m tables between items and enviaorders there is only one future item per type allowed – the updater command than can work of the current and the (one) future item without checking relations

Overview possible Scenarios

...